<!DOCTYPE HTML>
<html>
<head>
<title>Reload | AutoHotkey</title>
<meta name="description" content="The Reload command replaces the currently running instance of the script with a new one." />
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css" />
<script src="../static/content.js" type="text/javascript"></script>
<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script>
</head>
<body>

<h1>Reload</h1>

<p>使用新的脚本实例替换当前正在运行的实例.</p>

<pre class="Syntax"><span class="func">Reload</span></pre>
<p>此命令可用于需要频繁改变的脚本. 通过给此命令设置热键, 您可以在编辑器中保存修改后轻松地重启脚本.</p>
<p>默认情况下, 脚本也可以通过它的<a href="../Program.htm#tray-icon">托盘图标</a>或<a href="../Program.htm#main-window">主窗口</a>来重新加载.</p>
<p><span class="ver">[v1.1.34+]:</span> 如果 <a href="../Scripts.htm#SlashInclude">/include</a> 开关被传递给了脚本的当前实例, 那么它将自动传递给新的实例.</p>
<p>任何其他传递给脚本当前实例的<a href="../Scripts.htm#cmd">命令行参数</a>都不会传递给新实例. 要传递这些参数, 请不要使用 Reload. 相反, 使用 <a href="Run.htm">Run</a> 带有 <a href="../Variables.htm#AhkPath">A_AhkPath</a> 和 <a href="../Variables.htm#ScriptFullPath">A_ScriptFullPath</a>(如果脚本是以编译的形式运行, 则使用 <a href="../Variables.htm#IsCompiled">A_IsCompiled</a>). 另外, 将字符串 <code>/restart</code> 作为第一个参数(即在可执行文件的名称之后), 这告诉程序使用与 Reload 相同的行为. 另请参阅: <a href="../Scripts.htm#cmd">命令行开关和语法</a>.</p>
<p>当脚本重启时, 会从它原来的工作目录启动(当它首次启动时生效的那个). 换句话说, <a href="SetWorkingDir.htm">SetWorkingDir</a> 不会改变新实例的初始工作目录.</p>
<p>如果脚本无法重载(可能由于语法错误), 那么原来的实例会继续运行. 因此, reload 命令后应跟着在重载失败时您想执行的动作(例如使用 <a href="Return.htm">return</a> 来退出当前子程序). 要在原来的实例中检测到失败, 请参照此例:</p>
<pre>Reload
Sleep 1000 <em>; 如果成功, 则 reload 会在 Sleep 期间关闭这个实例, 所以下面这行语句永远不会执行.</em>
MsgBox, 4,, The script could not be reloaded. Would you like to open it for editing?
IfMsgBox, Yes, Edit
return</pre>
<p>AutoHotkey 依赖于脚本<a href="../Program.htm#main-window">主窗口</a>的标题来识别脚本的其他正在运行的实例.</p>

<h2 id="Related">相关</h2>
<p><a href="Edit.htm">Edit</a></p>
<h2 id="Examples">示例</h2>
<div class="ex" id="ExHotkey">
<p><a class="ex_number" href="#ExHotkey"></a> 按下热键重启脚本.</p>
<pre>^!r::Reload  <em>; Ctrl+Alt+R</em></pre>
</div>

</body>
</html>